package com.xuecheng.api.search;

import com.xuecheng.api.search.dto.CoursePubIndexDTO;
import com.xuecheng.api.search.qo.QueryCoursePubModel;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.common.domain.response.RestResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

/**
 * Created on 2021/04/12/16:30 周一
 *
 * @author Lantin
 */

@Api(tags = "搜索-课程发布信息页面搜索Api接口")
public interface CoursePubSearchApi {

    @ApiOperation("分页-条件查询课程发布详情")
    @ApiImplicitParams(
            @ApiImplicitParam(name = "model", value = "条件查询封装对象", dataType = "QueryCourseModel", paramType = "body")
    )
    PageVO<CoursePubIndexDTO> queryCoursePub(PageRequestParams params, QueryCoursePubModel model);

    @ApiOperation("查询-根据课程发布id查询发布信息")
    @ApiImplicitParam(name = "coursePubId", value = "课程发布id", required = true, dataType = "Long", paramType = "path")
    CoursePubIndexDTO queryCoursePubById(Long coursePubId);

    @ApiOperation("微服务调用-根据课程发布id查询发布信息")
    RestResponse<CoursePubIndexDTO> getCoursePubById(Long coursePubId);
}
